package cn.stylefeng.guns.modular.business.frequency.ordersub.model.result;

import cn.stylefeng.guns.modular.business.frequency.orderextrafee.entity.OrderExtraFee;
import cn.stylefeng.guns.modular.business.frequency.orderlogistics.entity.OrderLogistics;
import cn.stylefeng.guns.modular.business.frequency.ordermodifydetail.entity.OrderModifyDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description:
 * @Author jzy
 * @Date 2021/7/13 0013
 **/
@Data
public class PkgOrderSub {
    private String id;
    private String orderSubNo;
    private Integer status;
    private String createUserName;
    private String createUserPhone;
    private Date createTime;

    private String arriveLocation;
    private String companyName;
    private String linkmanName;
    private String linkmanPhone;
    private String consigneeName;
    private String consigneePhone;
    private Integer pickType;
    private Integer takeType;
    private String pickLinkmanName;
    private String pickLinkmanPhone;
    private String takeLinkmanName;
    private String takeLinkmanPhone;
    private String pickAreaCode;
    private String takeAreaCode;
    private String pickAreaCodeName;
    private String takeAreaCodeName;
    private String pickAddress;
    private String takeAddress;
    private String carName;
    private BigDecimal carCost;
    private String vin;
    private String startCode;
    private String destinationCode;
    private String startCodeName;
    private String destinationCodeName;
    private BigDecimal transportFee;
    private BigDecimal pickFee;
    private BigDecimal takeFee;
    private BigDecimal kickbackFee;
    private BigDecimal insuranceFee;
    private BigDecimal invoiceFee;
    private BigDecimal totalFee;
    private Integer[] paymentType;
    private BigDecimal spotPayFee;
    private BigDecimal deliveryPayFee;
    private BigDecimal backPayFee;
    private BigDecimal slotPayFee;
    private String remark;
    private Integer hasUrgent;
    private Date appointPickTime;
    private String updateVersion;

    @ApiModelProperty("收款状态")
    private Integer collectionStatus;

    private boolean show=false;

    @ApiModelProperty("订单应付总金额")
    private BigDecimal totalPaymentFee;
    @ApiModelProperty("订单应付费用明细")
    private List<ExtraFeeVO> paymentDetailList;

    @ApiModelProperty("提车信息")
    private PkgPick orderPick;

    @ApiModelProperty("验车信息")
    private PkgOrderCarVerify orderCarVerify;

    @ApiModelProperty("入库信息")
    private PkgOrderStock orderStock;

    @ApiModelProperty("承运信息")
    private List<PkgTransportLevelDetailSimple> transportSimpleList;

    @ApiModelProperty("app端在途信息")
    private List<OrderLogistics> appLogisticsList;

    /**
     * 只有签收记录详情显示 scene = 3
     */
    @ApiModelProperty("签收信息")
    private PkgOrderSign orderSign;

    @ApiModelProperty("送车信息")
    private PkgTake orderTake;

    @ApiModelProperty("交付信息")
    private PkgOrderFinishRecord orderFinish;

    @ApiModelProperty("订单额外费用")
    private List<OrderExtraFee> extraFeeList;

    @ApiModelProperty("订单修改记录")
    private List<OrderModifyDetail> modifyList;

    /**
     * 是否现付已经线上支付过：1表示支付过 2代表其他情况
     */
    private String isPay;

    /*@ApiModelProperty("评价信息")
    private OrderEvaluation orderEvaluation;*/

    private List<OrderLogistics> appLogistics;

    @ApiModelProperty("评价ID")
    private String evaluationId;
    @ApiModelProperty("运输方式")
    private Integer transportType;
    @ApiModelProperty("发运时间")
    private Date transportTime;
    private Date arriveTime;

    private Long tenantId;

    /**
     * 是否开通汇付 1-开通
     */
    private String isOpen;

    private BigDecimal spotHas;
    private BigDecimal spotUn;
    private BigDecimal deliveryHas;
    private BigDecimal deliveryUn;
    private BigDecimal backHas;
    private BigDecimal backUn;

    //制单时间
    private Date orderCreateTime;

    private PkgOrderCarVerify pkgOrderCarVerify;
}
